Software upgrades for client applications residing on customer devices are often provided by pushing upgraded code to the customer devices whenever there is a new software release/upgrade available for a segment of customer devices. Such methods typically employ various protocols to download code that is hosted on code download servers and provided to that segment of customer devices.